package com.kun.rental.utils;

import cn.hutool.core.util.StrUtil;
import java.util.UUID;


/**
 * 文件工具类
 * 用于处理与文件相关的操作，如获取文件扩展名、生成随机文件名等。
 */
public class FileUtils {

    /**
     * 获取文件扩展名
     * 通过查找字符串中最后一个"."的位置，来获取文件的扩展名。
     * 如果找不到"."，则返回空字符串。
     *
     * @param fileName 文件名
     * @return 文件扩展名，如果不存在扩展名则返回空字符串
     */
    public static String getFileExtension(String fileName) {
        return "." + StrUtil.subAfter(fileName, ".", true);
    }

    /**
     * 生成一个随机文件名
     * 使用UUID生成一个唯一且不含横线的字符串作为文件名。
     *
     * @return 随机生成的文件名
     */
    public static String getFileName() {
        return UUID.randomUUID().toString().replace("-", "");
    }

    /**
     * 根据给定文件名生成一个新的文件名
     * 使用UUID生成一个唯一且不含横线的字符串作为文件名的基础部分，
     * 并附加原文件名的扩展名，从而生成一个新的文件名。
     *
     * @param fileName 原文件名
     * @return 新生成的文件名，包含原文件的扩展名
     */
    public static String getFileName(String fileName) {
        return getFileName() + getFileExtension(fileName);
    }
}

